package cn.iocoder.yudao.module.peizhen.dal.dataobject.buiessorder;

import lombok.*;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 订单 DO
 *
 * @author 芋道源码
 */
@TableName("peizhen_order")
@KeySequence("peizhen_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BuiessOrderDO extends BaseDO {

    /**
     * 订单编号
     */
    @TableId
    private Long id;
    /**
     * 订单流水号
     */
    private String no;
    /**
     * 医院编号
     */
    private Integer hospitalId;
    /**
     * 医院名称
     */
    private String hospitalName;
    /**
     * 科室编号
     */
    private Integer sectionId;
    /**
     * 科室名称
     */
    private String sectionName;
    /**
     * 期望就诊时间
     */
    private LocalDateTime hopeTime;
    /**
     * 订单类型
     */
    private Integer type;
    /**
     * 用户编号
     */
    private Long memberId;
    /**
     * 用户额外需求
     */
    private String memberRemark;
    /**
     * 服务项目
     */
    private Integer programId;
    /**
     * 服务项目名称
     */
    private String programName;
    /**
     * 就诊人id
     */
    private Long paitentId;
    /**
     * 就诊人姓名
     */
    private String paitentName;

    private String paitentPhone;
    /**
     * 服务人员id
     */
    private Long staffId;
    /**
     * 服务人员姓名
     */
    private String staffName;
    /**
     * 订单状态
     *
     * 枚举 {@link TODO peizhen_program_status 对应的类}
     */
    //0,填写订单；1在线支付；2服务进行中；3服务完成；4订单取消
    private Integer status;
    /**
     * 商家备注
     */
    private String remark;
    /**
     * 支付订单编号
     */
    private Long payOrderId;
    /**
     * 是否已支付：[0:未支付 1:已经支付过]
     *
     *
     *
     */
    private Integer payStatus;
    /**
     * 订单支付时间
     */
    private LocalDateTime payTime;
    /**
     * 支付成功的支付渠道
     */
    private String payChannelCode;
    /**
     * 订单完成时间
     */
    private LocalDateTime finishTime;
    /**
     * 订单取消时间
     */
    private LocalDateTime cancelTime;
    /**
     * 商品原价（总
     */
    private Integer totalPrice;
    /**
     * 订单优惠（总）
     */
    private Integer discountPrice;
    /**
     * 应付金额（总），单位：分
     */
    private Integer payPrice;
    /**
     * 退款金额，单位：分
     */
    private Integer refundPrice;
    /**
     * 使用的积分
     */
    private Integer usePoint;
    /**
     * 积分抵扣的金额
     */
    private Integer pointPrice;

}